package com.cayden.base.base.sync;

import com.google.common.util.concurrent.RateLimiter;

/**
 * Created with IntelliJ IDEA.
 *
 * @author: cayden
 * Date: 2022/1/31 08:14
 * 限流定义类，所有限流功能需要继承当前类
 */
public abstract class RateLimitBase<T> implements RateLimitDefinde{

    private RateLimiter rateLimiter;

    /**
     * 构造方法
     * 如果没有进行限流，那么是最大的,不需要进行限制
     *
     */
    protected RateLimitBase(){
        this.rateLimiter = RateLimiter.create(Integer.MAX_VALUE);
    }

    protected RateLimitBase(Integer rateLimit){
        this.rateLimiter = RateLimiter.create(rateLimit);
    }

}
